#include "../import/head.h"
#include "export.h"
#include "../global/head.h"
#include "../xos/head.h"

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos
{
    int create( i_xos ** ppv )
    {
        xos_impl * p = 0;
        int nRet = 0;

        if( 0 == nRet )
        {
            if( !ppv )
            {
                nRet = 1;
            }
            else
            {
                *ppv = 0;
            }
        }

        if( 0 == nRet )
        {
            if( g_pXosImpl )
            {
                nRet = 2;
            }
        }

        if( 0 == nRet )
        {
            p = new xos_impl;

            if( !p )
            {
                nRet = 3;
            }
        }

        if( 0 == nRet )
        {
            g_pXosImpl = p;
            *ppv = p;
        }

        return nRet;
    }
}
